home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
indent.arc
/
INDENT.PRG
< prev
Wrap
Text File
|
1985-10-05
|
4KB
|
178 lines
**********************************************************************
** INDENT.PRG - WRITTEN APRIL 1985 BY KIRT GRUBBS (IN dBase II)
** CREATES CONSISTENT INDENTATION PATTERN FOR PROGRAM FILES
** DCONVERTED 5/85 BY MARK HEMSLEY
** UPDATED 6/85 BY MARK HEMSLEY
** (TO PROVIDE USER WITH PROGRAM STATUS AT EXECUTION)
** COMPLETLY RE-WRITTEN 8/85 BY MARK HEMSLEY - REDUCED EXECUTION TIME
** TO 1/3 OF ORIGINAL dBase II PROGRAM
** UPDATING CONT'D INCLLUDING MAJOR DEBUGGING 9/85
** TO 1/4 OF ORIGINAL dBase II PROGRAM
** LAST UPDATE: 09:25:41 09/20/85
*
SET SAFE OFF
SET TALK OFF
SET EXAC OFF
CLEA ALL
STOR 0 TO I,S,U
STOR ' ' TO L
STOR 'FAST INDENT VERSION 3.4' TO VERSION
STOR 'HI' TO NAME
DO WHIL LEN(TRIM(NAME))#0
CLEA
STOR ' ' TO NAME
@ 15,15 SAY "PROGRAM NAME" GET NAME PICT "XXXXXXXXXXXX"
READ
IF LEN(TRIM(NAME))>0
STOR TRIM(NAME) TO NAME
IF .NOT.'.'$NAME
STOR NAME+'.PRG' TO NAME
ENDI
IF .NOT.FILE(NAME)
? "FILE DOES NOT EXIST"
WAIT
ELSE
STOR NAME+' '+SUBSTR(NAME,1,LEN(NAME)-4)+'.BAK' TO MHFILE
!COPY &MHFILE
USE INDENT.DBS
ZAP
CLEA
? VERSION+' IN PROGRESS.'
?
? '>>> WARNING! <<< DO NOT INTERRUPT THIS PROGRAM,'
? ' OR YOUR DATA FILE WILL BE DESTROYED!'
SET CONS OFF
@ 16,0 SAY 'NAME: '+NAME
@ 14,0 SAY 'READING FILE...'
APPE FROM &NAME SDF
GO TOP
@ 14,0 SAY 'SEARCHING......'
LOCA FOR TRIM(LINE)='** LAST UPDATE:'
IF .NOT. EOF()
REPL LINE WITH '** LAST UPDATE: '+TIME()+' '+DTOC(DATE())
ENDI
GO TOP
@ 14,0 SAY 'UPDATING.......'
IF LINE=SPAC(254)
DELE
PACK
ENDI
GO BOTT
STOR RECN() TO LENGTH
@ 12,0 SAY 'LENGTH: '+STR(RECNO())
GO TOP
SET ALTE TO &NAME
SET ALTE ON
@ 14,0 SAY ' '
@ 14,0 SAY 'LINE: '
SET ESCAPE OFF
STOR TIME() TO START
DO WHIL TIME()=START
ENDD
************************************************
STOR TIME() TO START
DO WHIL .NOT. EOF()
IF LINE=SPAC(254)
?
ELSE
@ 14,8 SAY RECN()
RELE L
STOR 0 TO S,U
STOR TRIM(LINE) TO L
DO WHIL L<'!'
STOR SUBS(L,2,254) TO L
IF L=' '
STOR SUBS(L,15,254) TO L
ENDI
IF L=' '
STOR SUBS(L,9,254) TO L
ENDI
IF L=' '
STOR SUBS(L,3,254) TO L
ENDI
ENDD
DO CASE
CASE L='IF'
STOR 3 TO S
CASE L='DO WHIL'
STOR 3 TO S
CASE L='ENDI'
STOR -3 TO S
CASE L='ENDD'
STOR -3 TO S
CASE L='CASE'
STOR 5 TO U
CASE L='OTHE'
STOR 5 TO U
CASE L='DO CASE'
STOR 8 TO S
CASE L='ENDC'
STOR -8 TO S
CASE L='ELSE'
STOR 3 TO U
ENDC
STOR S+I TO I
IF S>0
STOR S TO U
ENDI
?? SPAC(I-U)+L
?
ENDI
SKIP
ENDD
STOR TIME() TO FINISH
*****************************************************
SET ESCAPE ON
@ 14,40 SAY 'DONE'
SET ALTE OFF
SET ALTE TO
ZAP
SET CONS ON
STARTHOUR=VAL(SUBSTR(START,1,2))
STARTMIN=VAL(SUBSTR(START,4,2))
STARTSEC=VAL(SUBSTR(START,7,2))
FINISHHOUR=VAL(SUBSTR(FINISH,1,2))
FINISHMIN=VAL(SUBSTR(FINISH,4,2))
FINISHSEC=VAL(SUBSTR(FINISH,7,2))
TIMEINSEC1=(STARTHOUR*3600)+(STARTMIN*60)+STARTSEC
TIMEINSEC2=(FINISHHOUR*3600)+(FINISHMIN*60)+FINISHSEC
TIMEINSEC=TIMEINSEC2-TIMEINSEC1
CLEA
? 'RUNTIME REPORT ON INDENT'
? 'TODAY IS '+DTOC(DATE())+' '+TIME()
?
? 'REPORT FOR : '+VERSION
?
?
? 'FILE : '+NAME
? 'START : '+START
? 'FINISH : '+FINISH
? 'LENGTH : '+STR(LENGTH)
?
? 'TIME IN SECONDS: '+STR(TIMEINSEC)
? 'TIME : '
TIMEHOUR=INT(TIMEINSEC/3600)
SET EXAC OFF
IF STR(TIMEHOUR)='*'
STOR 0 TO TIMEHOUR
ENDI
TIMEMIN=INT((TIMEINSEC-TIMEHOUR*3600)/60)
IF STR(TIMEMIN)='*'
STOR 0 TO TIMEMIN
ENDI
TIMESEC=INT(TIMEINSEC-((TIMEHOUR*3600)+(TIMEMIN*60)))
?? STR(TIMEHOUR,2,0)+':'+STR(TIMEMIN,2,0)+':'+STR(TIMESEC,2,0)
?
SET DECI TO 3
STOR TIMEINSEC/LENGTH TO REFERANCE
STOR .146342 TO REINDENT
? 'REFERANCE : '+STR(REFERANCE,7,3)+' SECONDS PER RECORD'
?
WAIT
ENDI
ENDI
ENDD
USE
CLEA